bitkeeper revision 1.626 (3fbe3eb1WmztnxBIFxm56r8gAVwZig)
authorkaf24@scramble.cl.cam.ac.uk <kaf24@scramble.cl.cam.ac.uk>
Fri, 21 Nov 2003 16:34:57 +0000 (16:34 +0000)
committerkaf24@scramble.cl.cam.ac.uk <kaf24@scramble.cl.cam.ac.uk>
Fri, 21 Nov 2003 16:34:57 +0000 (16:34 +0000)
Many files:
  Some fixes. Also now have a new Makefile target 'dist' which installs stuff to local install directory. Target 'install' now actually does what you expect by installing under /usr
xi_stopdom.py:
  Rename: tools/misc/xi_stopdom.py -> tools/examples/xi_stopdom.py
xi_listdoms.py:
  Rename: tools/misc/xi_listdoms.py -> tools/examples/xi_listdoms.py
xi_destroydom.py:
  Rename: tools/misc/xi_destroydom.py -> tools/examples/xi_destroydom.py
xi_createlinuxdom.py:
  Rename: tools/misc/xi_createlinuxdom.py -> tools/examples/xi_createlinuxdom.py

22 files changed:
.rootkeys
Makefile
docs/Xeno-HOWTO
tools/Makefile
tools/balloon/Makefile
tools/examples/xi_createlinuxdom.py [new file with mode: 0755]
tools/examples/xi_destroydom.py [new file with mode: 0644]
tools/examples/xi_listdoms.py [new file with mode: 0644]
tools/examples/xi_stopdom.py [new file with mode: 0644]
tools/misc/Makefile
tools/misc/miniterm/Makefile
tools/misc/xen-clone
tools/misc/xi_createlinuxdom.py [deleted file]
tools/misc/xi_destroydom.py [deleted file]
tools/misc/xi_listdoms.py [deleted file]
tools/misc/xi_stopdom.py [deleted file]
tools/xc/Makefile
tools/xc/lib/Makefile
tools/xc/py/Makefile
xen/Makefile
xen/include/xeno/event.h
xenolinux-2.4.22-sparse/arch/xeno/Makefile

index a30c685011b42992c9ca052eba54af1e61f0aa69..7d2f1e61b024a4b0281e07b1c1475818a0d401bd 100644 (file)
--- a/.rootkeys
+++ b/.rootkeys
 3e6377b24eQqYMsDi9XrFkIgTzZ47A tools/balloon/Makefile
 3e6377d6eiFjF1hHIS6JEIOFk62xSA tools/balloon/README
 3e6377dbGcgnisKw16DPCaND7oGO3Q tools/balloon/balloon.c
+3fbe2f12OPAkzIUtumU3wRAihnhocQ tools/examples/xi_createlinuxdom.py
+3fbe2f12dZbmXLlgQdMgkmnSUj23AQ tools/examples/xi_destroydom.py
+3fbe2f12ltvweb13kBSsxqzZDAq4sg tools/examples/xi_listdoms.py
+3fbe2f12Bnt8mwmr1ZCP6HWGS6yvYw tools/examples/xi_stopdom.py
 3f776bd2Xd-dUcPKlPN2vG89VGtfvQ tools/misc/Makefile
 3f6dc136ZKOjd8PIqLbFBl_v-rnkGg tools/misc/miniterm/Makefile
 3f6dc140C8tAeBfroAF24VrmCS4v_w tools/misc/miniterm/README
 3f13d81e6Z6806ihYYUw8GVKNkYnuw tools/misc/xen_nat_enable.README
 3f1668d4F29Jsw0aC0bJEIkOBiagiQ tools/misc/xen_read_console.c
 3f87ba90EUVPQLVOlFG0sW89BCwouQ tools/misc/xen_refresh_dev.c
-3fbe2f12OPAkzIUtumU3wRAihnhocQ tools/misc/xi_createlinuxdom.py
-3fbe2f12dZbmXLlgQdMgkmnSUj23AQ tools/misc/xi_destroydom.py
-3fbe2f12ltvweb13kBSsxqzZDAq4sg tools/misc/xi_listdoms.py
-3fbe2f12Bnt8mwmr1ZCP6HWGS6yvYw tools/misc/xi_stopdom.py
 3fbca441SjQr8vJwTQIgH1laysaWog tools/xc/Makefile
 3fbba6dbDfYvJSsw9500b4SZyUhxjQ tools/xc/lib/Makefile
 3fbba6dbEVkVMX0JuDFzap9jeaucGA tools/xc/lib/libxc_bvtsched.c
index 219669212299d2c666e20f2b3da83b5c988c215e..e429b6b1bfc8e998cc31fd32e011c5557a235f6c 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,21 +1,11 @@
-#
+
 # Grand Unified Makefile for Xen.
 #
-# Keir Fraser, 6/5/2003
-#
 # Builds everything except Xenolinux:
 #  cd xenolinux-<version>-sparse
 #  ./mkbuildtree <build dir>
 #  cd <build dir> && make oldconfig && make dep && make bzImage
 #  (<build dir> should be a vanilla linux tree with matching version)
-#
-# If you get errors in tools/domctl or tools/vdmanager, then you need
-# the latest Java 2 SDK on your execution path: <http://java.sun.com>
-# Also, you will need Apache's 'ant' build tool: <http://ant.apache.org>
-#
-# If you received this source as part of a Xen release, you should find
-# that appropriate versions of the build tools are already installed in
-# the initial system setup.
 
 all:   
        $(MAKE) -C xen
@@ -25,6 +15,10 @@ install: all
        $(MAKE) -C xen install
        $(MAKE) -C tools install
 
+dist: all
+       $(MAKE) -C xen dist
+       $(MAKE) -C tools dist
+
 clean:
        $(MAKE) -C xen clean
        $(MAKE) -C tools clean
index bfa36109278e8968da9899b6c4d699734f3f10b4..ef25ea764489998caddd0402376805cbd4814418 100644 (file)
@@ -17,16 +17,15 @@ To fetch a local copy, first download the BitKeeper tools at:
 http://www.bitmover.com/download with username 'bitkeeper' and
 password 'get bitkeeper'.
 
-Then install it and run:
-# cd /
+Then install the tools and then run:
 # bk clone bk://xen.bkbits.net/xeno-1.1.bk
 
 Under your current directory, a new directory named 'xeno-1.1.bk' has
 been created, which contains all the source codes for Xen and
-XenoLinux. Here we suppose you put it under '/'.
+XenoLinux. 
 
 To get newest changes to the repository, run
-# cd /xeno-1.1.bk
+# cd xeno-1.1.bk
 # bk pull
 
 
@@ -39,7 +38,7 @@ used to clone the repostitory and perform a full build.
 
 To build Xen manually:
 
-# cd /xeno-1.1.bk/xen
+# cd xeno-1.1.bk/xen
 # make clean
 # make
 
@@ -47,8 +46,13 @@ This will (should) produce a file called 'image' in the current
 directory.  This is the ELF 32-bit LSB executable file of Xen.  You
 can also find a gzip version, named 'image.gz'.
 
-Hint: There is a 'make install' rule which also and then copies it to
-../../install ; if this suits your setup, go for it.
+To install the built files on your Xenoserver under /usr, type 'make
+install' at the root of the BK repository. You will need to be root to
+do this!
+
+Hint: There is also a 'make dist' rule which copies built files to an
+install directory just outside the BK repo; if this suits your setup,
+go for it.
 
 
 Build XenoLinux
@@ -111,9 +115,11 @@ have zlib and devlopment headers installed. Also you will need at
 least Python v2.2. 
 
 'make install' in the tools directory will place executables and
-libraries in an install directory immediately outside you local
-repository. NOTE: the installation of the Python modules may need root
-privileges if you are not using a personal installation of Python.
+libraries in /usr/bin and /usr/lib. You will need to be root to do this!
+
+As noted earlier, 'make dist' installs files to a local 'install'
+directory just outside the BK repository. These files will then need
+to be installed manually onto the Xenoserver.
 
 
 Installation
@@ -204,7 +210,7 @@ UDP packets to  the local virtual network. Those  packets are received
 by xen_read_console running in Domain  0 and output are printed out to
 the standard output.
 
-Now edit the installed xi_createlinuxdom.py script to your taste. This
+Now edit the tools/examples/xi_createlinuxdom.py script to your taste. This
 should then be executed as root to create a new domain.
 
 You should be able to see XenoLinux boot message on standard output
@@ -215,14 +221,14 @@ List and Stop Domains
 ==============================
 
 You can see a list of existing domains with:
-# xi_listdoms.py
+# tools/examples/xi_listdoms.py
 
 In order to stop a domain, you use:
-# xi_stopdom.py <domain_id>
+# tools/examples/xi_stopdom.py <domain_id>
 
 To destroy a domain use ('force' causes an immediate destruction
 without waiting for the guest OS to shut down cleanly):
-# xi_destroydom.py <domain_id> [force]
+# tools/examples/xi_destroydom.py <domain_id> [force]
 
 
 Other Control Tasks using Python
index 18994da98da3c34fca54b54ff8f3a497b17015e0..96913d74240910571df630b6e67569ba3081a0bf 100644 (file)
@@ -27,6 +27,11 @@ install: all
        $(MAKE) -C xc install
        $(MAKE) -C misc install
 
+dist: all
+       $(MAKE) -C balloon dist
+       $(MAKE) -C xc dist
+       $(MAKE) -C misc dist
+
 clean:
        $(MAKE) -C balloon clean
        $(MAKE) -C xc clean
index 86108af67161702951be911375f65f6604771e9a..9c08018cef4b39c8ca79148e25e38e10cffba29f 100644 (file)
@@ -5,6 +5,10 @@ $(TARGET): balloon.c
        $(CC) -O2 -Wall -o $(TARGET) balloon.c
 
 install: $(TARGET)
+       mkdir -p /usr/bin
+       cp -a $(TARGET) /usr/bin
+
+dist: $(TARGET)
        mkdir -p ../../../install/bin
        cp -a $(TARGET) ../../../install/bin
 
diff --git a/tools/examples/xi_createlinuxdom.py b/tools/examples/xi_createlinuxdom.py
new file mode 100755 (executable)
index 0000000..2e25e30
--- /dev/null
@@ -0,0 +1,101 @@
+#!/usr/bin/env python
+
+#
+# Example script for creating and building a new Linux guest OS for Xen.
+#
+
+import Xc, XenoUtil, sys, os
+
+# Variable declaration. Set these up properly later on, as needed.
+nfsserv = nfspath = root_partn = usr_partn = ""
+
+# STEP 1. Specify kernel image file.
+image = "FULL_PATH_TO_IMAGE"
+
+# STEP 2. Specify IP address, netmask and gateway for the new domain.
+ipaddr  = "ADDRESS"
+netmask = XenoUtil.get_current_ipmask()
+gateway = XenoUtil.get_current_ipgw()
+
+# STEP 3a. Specify NFS server and path to rootfs (only needed for network boot)
+nfsserv = "ADDRESS"
+nfspath = "FULL_PATH_TO_ROOT_DIR"
+
+# STEP 3b. Specify root (and possibly /usr) on local disc (if not NFS booting)
+#root_partn = "/dev/sda2"
+#usr_partn  = "/dev/sda6"
+
+# STEP 4. Check that the following cmdline setup is to your taste.
+cmdline = "ip="+ipaddr+":"+nfsserv+":"+gateway+":"+netmask+"::eth0:off"
+if root_partn:
+    # Boot from local disc. May specify a separate /usr.
+    cmdline = cmdline + " root="+root_partn+" ro"
+    if usr_partn:
+        " usr="+usr_partn
+elif nfsserv:
+    # NFS boot
+    cmdline = cmdline + " root=/dev/nfs"
+    cmdline = cmdline + " nfsroot="+nfspath
+
+if root_partn:
+    root_info = XenoUtil.lookup_blkdev_partn_info(root_partn)
+    if not root_info:
+        print "Could not obtain info on partition '" + root_partn + "'"
+        sys.exit()
+
+if usr_partn:
+    usr_info = XenoUtil.lookup_blkdev_partn_info(usr_partn)
+    if not usr_info:
+        print "Could not obtain info on partition '" + usr_partn + "'"
+        sys.exit()
+
+if not os.path.isfile( image ):
+    print "Image file '" + image + "' does not exist"
+    sys.exit()
+
+xc = Xc.new()
+
+id = xc.domain_create()
+if id <= 0:
+    print "Error creating domain"
+    sys.exit()
+
+if xc.linux_build( dom=id, image=image, cmdline=cmdline ):
+    print "Error building Linux guest OS"
+    xc.domain_destroy ( dom=id )
+    sys.exit()
+
+if root_partn:
+    if xc.vbd_create( dom=id, vbd=root_info[0], writeable=1 ):
+        print "Error creating root VBD"
+        xc.domain_destroy ( dom=id )
+        sys.exit()
+    if xc.vbd_add_extent( dom=id,
+                          vbd=root_info[0],
+                          device=root_info[1],
+                          start_sector=root_info[2],
+                          nr_sectors=root_info[3] ):
+        print "Error populating root VBD"
+        xc.domain_destroy ( dom=id )
+        sys.exit()
+
+if usr_partn:
+    if xc.vbd_create( dom=id, vbd=usr_info[0], writeable=0 ):
+        print "Error creating usr VBD"
+        xc.domain_destroy ( dom=id )
+        sys.exit()
+    if xc.vbd_add_extent( dom=id,
+                          vbd=usr_info[0],
+                          device=usr_info[1],
+                          start_sector=usr_info[2],
+                          nr_sectors=usr_info[3] ):
+        print "Error populating usr VBD"
+        xc.domain_destroy ( dom=id )
+        sys.exit()
+
+XenoUtil.setup_vfr_rules_for_vif( id, 0, ipaddr )
+
+if xc.domain_start( dom=id ):
+    print "Error starting domain"
+    xc.domain_destroy ( dom=id )
+    sys.exit()
diff --git a/tools/examples/xi_destroydom.py b/tools/examples/xi_destroydom.py
new file mode 100644 (file)
index 0000000..0c3c0d1
--- /dev/null
@@ -0,0 +1,18 @@
+#!/usr/bin/env python
+
+#
+# Destroy specified domain.
+#
+
+import Xc, sys, re
+
+xc = Xc.new()
+
+if len(sys.argv) < 2:
+    print "Specify a domain identifier"
+    sys.exit()
+
+if (len(sys.argv) > 2) and re.match( 'force', sys.argv[2] ):
+    xc.domain_destroy( dom=int(sys.argv[1]), force=0 )
+else:
+    xc.domain_destroy( dom=int(sys.argv[1]), force=1 )
diff --git a/tools/examples/xi_listdoms.py b/tools/examples/xi_listdoms.py
new file mode 100644 (file)
index 0000000..0bc3d9b
--- /dev/null
@@ -0,0 +1,10 @@
+#!/usr/bin/env python
+
+#
+# List info on all domains.
+#
+
+import Xc, sys
+xc = Xc.new()
+print xc.domain_getinfo()
+
diff --git a/tools/examples/xi_stopdom.py b/tools/examples/xi_stopdom.py
new file mode 100644 (file)
index 0000000..aa20a97
--- /dev/null
@@ -0,0 +1,15 @@
+#!/usr/bin/env python
+
+#
+# Stop execution of specified domain.
+#
+
+import Xc, sys, re
+
+xc = Xc.new()
+
+if len(sys.argv) != 2:
+    print "Specify a domain identifier"
+    sys.exit()
+
+xc.domain_stop( dom=int(sys.argv[1]) )
index d721978783727499da178229d1bcf5790b5e64b7..19d25b4748c25830aea910e77afbbb3041624b37 100644 (file)
@@ -10,23 +10,25 @@ OBJS     = $(patsubst %.c,%.o,$(SRCS))
 TARGETS  = xen_read_console xen_refresh_dev xen_cpuperf
 
 INSTALL  = $(TARGETS) xen-mkdevnodes xen_nat_enable xen-clone 
-INSTALL += xi_createlinuxdom.py xi_destroydom.py xi_listdoms.py
-INSTALL += xi_stopdom.py
 
 all: $(TARGETS)
        $(MAKE) -C miniterm     
 
 install: all
+       mkdir -p /usr/bin
+       cp -a $(INSTALL) /usr/bin
+       chmod 755 /usr/bin/xen-mkdevnodes
+       chmod 755 /usr/bin/xen_nat_enable
+       chmod 755 /usr/bin/xen-clone
+       $(MAKE) -C miniterm install
+
+dist: all
        mkdir -p ../../../install/bin
        cp -a $(INSTALL) ../../../install/bin
        chmod 755 ../../../install/bin/xen-mkdevnodes
        chmod 755 ../../../install/bin/xen_nat_enable
        chmod 755 ../../../install/bin/xen-clone
-       chmod 755 ../../../install/bin/xi_createlinuxdom.py
-       chmod 755 ../../../install/bin/xi_destroydom.py
-       chmod 755 ../../../install/bin/xi_listdoms.py
-       chmod 755 ../../../install/bin/xi_stopdom.py
-       $(MAKE) -C miniterm install
+       $(MAKE) -C miniterm dist
 
 clean:
        $(RM) *.o $(TARGETS)
index 59fd0a17bf62e952def367547b7738800f289809..4a3656fd25042f4c850085fd24db034efb6ef751 100644 (file)
@@ -4,6 +4,9 @@ CFLAGS  = -O3 -march=i686 -Wall
 all: miniterm
 
 install: all
+       cp -a miniterm /usr/bin/        
+
+dist: all
        cp -a miniterm ../../../../install/bin/ 
 
 clean:
index 06aba1d815ae90edf0970023e35245f55b67b0bb..30fa57baa441f53f4e530b920bdf5134787a797a 100755 (executable)
@@ -76,7 +76,7 @@ fi
 
 # build and install Xen and tools
 cd ${DEST_BK_REP}
-make install
+make dist || make install
 
 # Turn linux into xenolinux then build it
 cd xenolinux-${LINUX_VER}-sparse
@@ -89,7 +89,7 @@ export INSTALL_MOD_PATH=${TOP}/install
 make oldconfig
 make dep
 make bzImage
-make install
+make dist || make install
 make modules
 make modules_install
 cd ..
diff --git a/tools/misc/xi_createlinuxdom.py b/tools/misc/xi_createlinuxdom.py
deleted file mode 100755 (executable)
index 1695a0e..0000000
+++ /dev/null
@@ -1,101 +0,0 @@
-#!/usr/bin/python
-
-#
-# Example script for creating and building a new Linux guest OS for Xen.
-#
-
-import Xc, XenoUtil, sys, os
-
-# Variable declaration. Set these up properly later on, as needed.
-nfsserv = nfspath = root_partn = usr_partn = ""
-
-# STEP 1. Specify kernel image file.
-image = "FULL_PATH_TO_IMAGE"
-
-# STEP 2. Specify IP address, netmask and gateway for the new domain.
-ipaddr  = "ADDRESS"
-netmask = XenoUtil.get_current_ipmask()
-gateway = XenoUtil.get_current_ipgw()
-
-# STEP 3. Specify NFS server and path to rootfs (only needed for network boot)
-nfsserv = "ADDRESS"
-nfspath = "FULL_PATH_TO_ROOT_DIR"
-
-# STEP 4. Specify root (and possibly /usr) on local disc (if not NFS booting)
-#root_partn = "/dev/sda2"
-#usr_partn  = "/dev/sda6"
-
-# STEP 5. Check that the following cmdline setup is to your taste.
-cmdline = "ip="+ipaddr+":"+nfsserv+":"+gateway+":"+netmask+"::eth0:off"
-if root_partn:
-    # Boot from local disc. May specify a separate /usr.
-    cmdline = cmdline + " root="+root_partn+" ro"
-    if usr_partn:
-        " usr="+usr_partn
-elif nfsserv:
-    # NFS boot
-    cmdline = cmdline + " root=/dev/nfs"
-    cmdline = cmdline + " nfsroot="+nfspath
-
-if root_partn:
-    root_info = XenoUtil.lookup_blkdev_partn_info(root_partn)
-    if not root_info:
-        print "Could not obtain info on partition '" + root_partn + "'"
-        sys.exit()
-
-if usr_partn:
-    usr_info = XenoUtil.lookup_blkdev_partn_info(usr_partn)
-    if not usr_info:
-        print "Could not obtain info on partition '" + usr_partn + "'"
-        sys.exit()
-
-if not os.path.isfile( image ):
-    print "Image file '" + image + "' does not exist"
-    sys.exit()
-
-xc = Xc.new()
-
-id = xc.domain_create()
-if id <= 0:
-    print "Error creating domain"
-    sys.exit()
-
-if xc.linux_build( dom=id, image=image, cmdline=cmdline ):
-    print "Error building Linux guest OS"
-    xc.domain_destroy ( dom=id )
-    sys.exit()
-
-if root_partn:
-    if xc.vbd_create( dom=id, vbd=root_info[0], writeable=1 ):
-        print "Error creating root VBD"
-        xc.domain_destroy ( dom=id )
-        sys.exit()
-    if xc.vbd_add_extent( dom=id,
-                          vbd=root_info[0],
-                          device=root_info[1],
-                          start_sector=root_info[2],
-                          nr_sectors=root_info[3] ):
-        print "Error populating root VBD"
-        xc.domain_destroy ( dom=id )
-        sys.exit()
-
-if usr_partn:
-    if xc.vbd_create( dom=id, vbd=usr_info[0], writeable=0 ):
-        print "Error creating usr VBD"
-        xc.domain_destroy ( dom=id )
-        sys.exit()
-    if xc.vbd_add_extent( dom=id,
-                          vbd=usr_info[0],
-                          device=usr_info[1],
-                          start_sector=usr_info[2],
-                          nr_sectors=usr_info[3] ):
-        print "Error populating usr VBD"
-        xc.domain_destroy ( dom=id )
-        sys.exit()
-
-XenoUtil.setup_vfr_rules_for_vif( id, 0, ipaddr )
-
-if xc.domain_start( dom=id ):
-    print "Error starting domain"
-    xc.domain_destroy ( dom=id )
-    sys.exit()
diff --git a/tools/misc/xi_destroydom.py b/tools/misc/xi_destroydom.py
deleted file mode 100644 (file)
index c5f3f99..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/usr/bin/python
-
-#
-# Destroy specified domain.
-#
-
-import Xc, sys, re
-
-xc = Xc.new()
-
-if len(sys.argv) < 2:
-    print "Specify a domain identifier"
-    sys.exit()
-
-if (len(sys.argv) > 2) and re.match( 'force', sys.argv[2] ):
-    xc.domain_destroy( dom=int(sys.argv[1]), force=0 )
-else:
-    xc.domain_destroy( dom=int(sys.argv[1]), force=1 )
diff --git a/tools/misc/xi_listdoms.py b/tools/misc/xi_listdoms.py
deleted file mode 100644 (file)
index 401602e..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/usr/bin/python
-
-#
-# List info on all domains.
-#
-
-import Xc, sys
-xc = Xc.new()
-print xc.domain_getinfo()
-
diff --git a/tools/misc/xi_stopdom.py b/tools/misc/xi_stopdom.py
deleted file mode 100644 (file)
index 699c9c0..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/usr/bin/python
-
-#
-# Stop execution of specified domain.
-#
-
-import Xc, sys, re
-
-xc = Xc.new()
-
-if len(sys.argv) != 2:
-    print "Specify a domain identifier"
-    sys.exit()
-
-xc.domain_stop( dom=int(sys.argv[1]) )
index 29843adf140748b779876a07dfb3cde0161a0620..0855485fd3185ba8e3bf0ca782bcccc46b400def 100644 (file)
@@ -3,10 +3,14 @@ all:
        $(MAKE) -C lib
        $(MAKE) -C py
 
-install:
+install: all
        $(MAKE) -C lib install
        $(MAKE) -C py  install
 
+dist: all
+       $(MAKE) -C lib dist
+       $(MAKE) -C py  dist
+
 clean:
        $(MAKE) -C lib clean
        $(MAKE) -C py  clean
index 24858d793afb845219c4ecc6cb2487ef2804496f..3e8e17c65ae3f15321ee61482c86cbf69eb832b3 100644 (file)
@@ -20,6 +20,14 @@ check-for-zlib:
        fi
 
 install: all
+       mkdir -p /usr/lib
+       mkdir -p /usr/include
+       cp -a $(LIBS) /usr/lib
+       for i in $(LIBS); do chmod 755 /usr/bin/$i ; done
+       cp -a xc.h /usr/include
+       chmod 644 /usr/include/xc.h
+
+dist: all
        mkdir -p ../../../../install/lib
        mkdir -p ../../../../install/include
        cp -a $(LIBS) ../../../../install/lib
index a402cf77b6a36628e85cadfb7a4881ebddc950d8..a3488237fce15cbe0770761af23de1b058215ba1 100644 (file)
@@ -2,8 +2,14 @@
 all: ../lib/libxc.a
        python setup.py build
 
-install:
+install: all
        python setup.py install
 
+dist: all
+       mkdir -p ../../../../install/lib/python
+       for i in `find . -name 'Xc.so'` ; do                           \
+               cp $$i ../../../../install/lib/python/`basename $$i` ; \
+       done
+
 clean:
        rm -rf build *.pyc *.pyo *.o *.a *~
index 742cf4561a7ba9fbc1cb86560bcd7c0f4a6c9d87..be24c07e0fef08abbc92a684d682120f25734437 100644 (file)
@@ -18,6 +18,11 @@ debug:
        objdump -D -S $(TARGET) > $(TARGET).s
 
 install: $(TARGET)
+       gzip -f -9 < $(TARGET) > $(TARGET).gz
+       mkdir -p /boot
+       cp -a $(TARGET).gz /boot
+
+dist: $(TARGET)
        gzip -f -9 < $(TARGET) > $(TARGET).gz
        mkdir -p ../../install/boot
        cp -a $(TARGET).gz ../../install/boot/
index c733dc46fb418743ede94cfd423f46f5a70bd0de..6627afdf64140faec725b8553ba29ed6aa5ad5af 100644 (file)
@@ -47,7 +47,7 @@ static inline unsigned long mark_guest_event(struct task_struct *p, int event)
 /* As above, but hyp_events are handled within the hypervisor. */
 static inline unsigned long mark_hyp_event(struct task_struct *p, int event)
 {
-    if ( test_and_set_bit(event, &p->shared_info->events) )
+    if ( test_and_set_bit(event, &p->hyp_events) )
         return 0;
     smp_mb();
     if ( p->state == TASK_INTERRUPTIBLE ) wake_up(p);
index 51a20235d295a018128c54e166019d4dca1b1cb3..815c28107b2b03a697bf703737c013fc8613823c 100644 (file)
@@ -96,6 +96,10 @@ bzImage: vmlinux
        @$(MAKEBOOT) xenolinux.gz
 
 install: bzImage
+       mkdir -p /boot
+       cp -a arch/$(ARCH)/boot/xenolinux.gz /boot/xenolinux.gz
+
+dist: bzImage
        mkdir -p ../install/boot
        cp -a arch/$(ARCH)/boot/xenolinux.gz ../install/boot/xenolinux.gz